package com.ruoyi.iot.domain.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * 温度统计窗口实体
 */
@Data
@Schema(description = "设备温度窗口聚合结果")
public class DeviceTemperatureWindow {

    /** 主键ID */
    @Schema(description = "自增主键")
    private Long id;

    /** 设备编号 */
    @Schema(description = "设备编号")
    private String deviceId;

    /** 窗口开始时间 */
    @Schema(description = "聚合窗口开始时间")
    private LocalDateTime windowStart;

    /** 窗口结束时间 */
    @Schema(description = "聚合窗口结束时间")
    private LocalDateTime windowEnd;

    /** 聚合粒度(分钟) */
    @Schema(description = "聚合粒度(分钟)")
    private Integer granularityMinutes;

    /** 样本数量 */
    @Schema(description = "样本数量")
    private Integer sampleCount;

    /** 定子A相温度1平均值 */
    @Schema(description = "定子A相温度1平均值")
    private BigDecimal avgAstatortemp1;

    /** 定子B相温度1平均值 */
    @Schema(description = "定子B相温度1平均值")
    private BigDecimal avgBstatortemp1;

    /** 定子C相温度1平均值 */
    @Schema(description = "定子C相温度1平均值")
    private BigDecimal avgCstatortemp1;

    /** 定子A相温度2平均值 */
    @Schema(description = "定子A相温度2平均值")
    private BigDecimal avgAstatortemp2;

    /** 定子B相温度2平均值 */
    @Schema(description = "定子B相温度2平均值")
    private BigDecimal avgBstatortemp2;

    /** 定子C相温度2平均值 */
    @Schema(description = "定子C相温度2平均值")
    private BigDecimal avgCstatortemp2;

    /** 轴伸端温度平均值 */
    @Schema(description = "轴伸端温度平均值")
    private BigDecimal avgShaftendtemp;

    /** 非轴伸端温度平均值 */
    @Schema(description = "非轴伸端温度平均值")
    private BigDecimal avgNonshaftendtemp;

    /** 水泵轴承温度平均值 */
    @Schema(description = "水泵轴承温度平均值")
    private BigDecimal avgWaterpumpbearingtemp;

    /** 定子A相温度1最大值 */
    @Schema(description = "定子A相温度1最大值")
    private BigDecimal maxAstatortemp1;

    /** 定子B相温度1最大值 */
    @Schema(description = "定子B相温度1最大值")
    private BigDecimal maxBstatortemp1;

    /** 定子C相温度1最大值 */
    @Schema(description = "定子C相温度1最大值")
    private BigDecimal maxCstatortemp1;

    /** 定子A相温度2最大值 */
    @Schema(description = "定子A相温度2最大值")
    private BigDecimal maxAstatortemp2;

    /** 定子B相温度2最大值 */
    @Schema(description = "定子B相温度2最大值")
    private BigDecimal maxBstatortemp2;

    /** 定子C相温度2最大值 */
    @Schema(description = "定子C相温度2最大值")
    private BigDecimal maxCstatortemp2;

    /** 轴伸端温度最大值 */
    @Schema(description = "轴伸端温度最大值")
    private BigDecimal maxShaftendtemp;

    /** 非轴伸端温度最大值 */
    @Schema(description = "非轴伸端温度最大值")
    private BigDecimal maxNonshaftendtemp;

    /** 水泵轴承温度最大值 */
    @Schema(description = "水泵轴承温度最大值")
    private BigDecimal maxWaterpumpbearingtemp;

    /** 创建时间 */
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    /** 更新时间 */
    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;
}
